package cn.epsilon3.domain.e3.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @description 可达资源反参
 *
 * @author: epsilon3
 * @date: 2023/11/11 22:02
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class E3ResourceVO implements Serializable {

    private static final long serialVersionUID = -3760318765184171L;

    /**
     * 资源id
     */
    @ApiModelProperty(value = "资源id")
    private String resourceId;

    /**
     * 资源名称
     */
    @ApiModelProperty(value = "资源名称")
    private String resourceName;

    /**
     * 资源权限标识符，只对功能有效
     */
    @ApiModelProperty(value = "资源权限标识符，只对功能有效")
    private String resourcePerms;

    /**
     * 上级资源id
     */
    @ApiModelProperty(value = "上级资源id")
    private String parentId;

    /**
     * 资源层级
     */
    @ApiModelProperty(value = "资源层级")
    private Integer resourceLevel;

    /**
     * 资源路径，只对路由有效
     */
    @ApiModelProperty(value = "资源路径，只对路由有效")
    private String resourcePath;

    /**
     * 资源参数，只对路由有效
     */
    @ApiModelProperty(value = "资源参数，只对路由有效")
    private String resourceParams;

    /**
     * 资源类型，C为目录 R为菜单 F为功能
     */
    @ApiModelProperty(value = "资源类型，C为目录 R为菜单 F为功能")
    private String resourceType;

    /**
     * 资源图标
     */
    @ApiModelProperty(value = "资源图标")
    private String resourceIcon;

    /**
     * 是否有效
     */
    @ApiModelProperty(value = "是否有效")
    private Integer effective;

    /**
     * 下级资源
     */
    @ApiModelProperty(value = "下级资源")
    private List<E3ResourceVO> children;


}
